home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Atlanta_1990 / Atlanta-Devcon.1 / Libraries / Intuition / boopsi / myclasslib.asm < prev    next >
Encoding:
Assembly Source File  |  1992-08-26  |  2.2 KB  |  111 lines

  1. *************************************************************************
  2. *
  3. *   classlib.asm -- public boopsi class library
  4. *
  5. *   Copyright (C) 1985, 1989, 1990 Commodore Amiga Inc.
  6. *    All rights reserved.
  7. *
  8. *************************************************************************
  9.  
  10.    SECTION   section
  11.  
  12.    NOLIST
  13.    INCLUDE "exec/types.i"
  14.    INCLUDE "exec/libraries.i"
  15.    INCLUDE "exec/lists.i"
  16.    INCLUDE "exec/alerts.i"
  17.    INCLUDE "exec/initializers.i"
  18.    INCLUDE "exec/resident.i"
  19.    INCLUDE "libraries/dos.i"
  20.  
  21.    INCLUDE "myclassbase.i"
  22.  
  23. VERSION        EQU    36
  24. REVISION    EQU    1
  25. VSTRING    MACRO
  26.         dc.b    'myclass 36.1 (18.6.90)',13,10,0
  27.     ENDM
  28.  
  29.  
  30. CLEAR    MACRO
  31.     MOVEQ    #0,\1
  32.     ENDM
  33.  
  34. CALLSYS    MACRO
  35.     JSR    _LVO\1(A6)
  36.     ENDM
  37.  
  38. XLIB    MACRO
  39.     XREF    _LVO\1
  40.     ENDM
  41.  
  42.    LIST
  43.  
  44.    XREF        _myLibInit
  45.    XREF        _myLibOpen
  46.    XREF        _myLibClose
  47.    XREF        _myLibExpunge
  48.  
  49.    XLIB   FreeMem
  50.    XLIB   Remove
  51.  
  52. Start:
  53.    MOVEQ   #-1,d0
  54.    rts
  55.  
  56. ; ---- library definition ----
  57. myName:    DC.B   'myclass.library',0
  58. MYPRI       EQU   -20
  59. idString    VSTRING        ; macro from automatic myclass_rev.i
  60.  
  61.    ; force word alignment
  62.    ds.w   0
  63.  
  64. initDDescrip:
  65.                ;STRUCTURE RT,0
  66.      DC.W    RTC_MATCHWORD      ; UWORD RT_MATCHWORD
  67.      DC.L    initDDescrip       ; APTR  RT_MATCHTAG
  68.      DC.L    EndCode            ; APTR  RT_ENDSKIP
  69.      DC.B    RTF_AUTOINIT       ; UBYTE RT_FLAGS
  70.      DC.B    VERSION            ; UBYTE RT_VERSION
  71.      DC.B    NT_LIBRARY         ; UBYTE RT_TYPE
  72.      DC.B    MYPRI              ; BYTE  RT_PRI
  73.      DC.L    myName             ; APTR  RT_NAME
  74.      DC.L    idString           ; APTR  RT_IDSTRING
  75.      DC.L    Init               ; APTR  RT_INIT
  76.  
  77.    ; force word alignment
  78.    ds.w   0
  79.  
  80. Init:
  81.    DC.L   MyLibBase_SIZEOF  ; size of library base data space
  82.    DC.L   myFuncTable        ; pointer to function initializers
  83.    DC.L   dataTable         ; pointer to data initializers
  84.    DC.L   _myLibInit       ; routine to run
  85.  
  86.  
  87. dataTable:
  88.    INITBYTE   LN_TYPE,NT_LIBRARY
  89.    INITLONG   LN_NAME,myName
  90.    INITBYTE   LIB_FLAGS,LIBF_SUMUSED!LIBF_CHANGED
  91.    INITWORD   LIB_VERSION,VERSION
  92.    INITWORD   LIB_REVISION,REVISION
  93.    INITLONG   LIB_IDSTRING,idString
  94.    DC.L   0
  95.  
  96.  
  97. Null:
  98.    CLEAR   d0
  99.    rts
  100.  
  101. myFuncTable:
  102.     dc.l   _myLibOpen
  103.     dc.l   _myLibClose
  104.     dc.l   _myLibExpunge
  105.     dc.l   Null
  106.     dc.l   -1
  107.  
  108. EndCode:
  109.  
  110.    END
  111.